﻿using Magicodes.ExporterAndImporter.Core.Models;
using NP.BPMReportPlatform.Entities.BPM_Business.Reports;
using NP.BPMReportPlatform.Reports.OrderMaterialDetail.Dtos;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace NP.BPMReportPlatform.Reports.OrderMaterialDetail
{
    public interface IOrderMaterialDetailService : IApplicationService
    {
        Task<PagedResultDto<OrderMaterialDetailDto>> GetList(OrderMaterialDetailInput input);

        Task<List<OrderMaterialDetailDto>> ExportExcel(OrderMaterialDetailInput input);

        Task<ImportResultExt<OrderMaterialDetailDto>> ImportExcel(List<OrderMaterialDetailDto> data);

        Task<FileStream> ExportTemplate();

        Task<MemoryStream> ExportTonUnEnoughData();

        Task<ImportResultExt<EndProductPlanDto>> ImportEndProductPlanData(List<EndProductPlanDto> data);

        Task<ImportResultExt<OrderMaterialConfigDto>> ImportConfig(List<OrderMaterialConfigDto> data);

        Task<MemoryStream> ExportUnclearSummaryData();

        Task<ImportResultExt<AvailableInventoryDto>> ImportAvailableInventoryData(List<AvailableInventoryDto> data);
    }
}
